In the ongoing effort to improve efficiency, businesses are always seeking new ways to improve the performance of their enterprise, by reducing costs, increasing throughput and eliminating bottlenecks in the flow of productivity. Also, millions of dollars can be invested in installing new facilities or redesigning old facilities, e.g. a manufacturing line or a retail establishment. Business managers are interested in arriving at an efficient layout and resource allocation prior to such capital investment.
To identify weak points in a business system, Discrete Event Simulation (DES) is a tool increasingly used to model the functionality and behavior of a business. With DES, a model of a business system can be built and simulated on a computer. The computer model is then executed to simulate normal operations over a period of time to observe the system's performance. DES is similar in principle to the variety of other computer simulations currently in use, such as flight simulators and certain strategic computer games. DES extends the simulation principle to commercial applications. A number of enterprises are currently using DES to model their operations, including the fields of banking, manufacturing, supply chain analysis, health care, airport security, and the military. A two- or three-dimensional visualization of a numerical output is typically created to facilitate understanding and validation of a simulation model as it would relate back to a real world system. The visualization is also important for communication, to help business managers and customers understand the problems and solutions addressed by the simulation.
For example, a business may use DES in conjunction with designing a new manufacturing plant or making major modifications to an existing plant. Perhaps the business is not obtaining the desired throughput because of a bottleneck at a certain machine station. A simulation model is created to simulate the manufacturing line, and a numerical description of the system is inputted into the model. The simulation model includes interactive components, and the numerical parameters specify the configuration and behavior characteristics of its “real world” counterpart. Each machine, operator and any other component of the system can be represented as a particular set of numerical parameters that are represented in the model. The interactive components are typically laid out in a two- or three-dimensional representation of the arrangement of the actual system components.
After numerically representing the system components, the model is then executed in a “scenario” in which the model is set in motion so that all the components are operating with respect to time according to their numerical parameters. In this way, the scenario simulates interactivity of the components in the manufacturing plant over a selected period of time, enabling observation of the interactive behavior of the model. If a specific machine is identified as a problem source, the model can be revised to include a new set of parameters representing a component modification, e.g. a modified machine or even a different machine in place of the problem source. The model is run with respect to the scenario to obtain a numerical output. In order to adequately simulate the real system, the model must factor in device failures, component malfunctions, variations in load, flow, or capacity, variations in congestion, and any other factors that interrelate and make prediction of behavior difficult. Simulation allows modeling of complex systems to obtain accurate answers and determine a desirable configuration of a system.
It is well understood that project development often takes longer than expected, leaving less than desired time for the analysis of simulation results. In order to maintain a schedule, an analyst may run a small number of alternative scenarios, and in so doing, might miss a better solution to a problem. On the other hand, the analyst may run fewer replications of each alternative scenario, resulting in lower predictive accuracy and possibly yield an incorrect solution. Consequently, discrete event simulations take a long time to execute to enable thorough analysis. As modeling technology has improved, models have gotten steadily larger and their execution time has increased proportionally, thereby exacerbating the problem. While higher-speed computer processors have sped up execution time, the problem is not fully addressed.
High Level Architecture (HLA) and similar techniques have been used to split a replication into dependent components and execute each of them synchronously on a number of different processors so that e.g. the operation of a forklift is modeled on one processor and the operation of a receiving machine is modeled on another processor. With this approach, the time clocks of each processor must be synchronized. However, if the component on one processor has run e.g. 10 minutes ahead, the interaction with the other components fails. It has been found that more system overhead is devoted to synchronizing the processor's time clocks than advancing the time clocks. The overhead of coordination is prohibitively difficult, resulting in poor performance.